package com.mice.game.core
{
	import flash.display.MovieClip;
	
	public class Actor{
		/**
		 * 战斗
		 */		
		public static const STATUS_ATTACK:int = 1;
		
		/**
		 * 前进
		 */		
		public static const STATUS_RUN:int = 2;
		
		/**
		 * 死亡
		 */		
		public static const STATUS_DEAD:int = 3;
		
		/**
		 * 你懂的
		 */		
		protected var _metaId:int;
		
		/**
		 * 移动速度,有方向.为meta 速度x方向. 右为1,左为-1
		 */		
		protected var _speed:int;
		
		/**
		 * 等级/由点数增加/ai配置决定
		 */		
		protected var _level:int;
		
		/**
		 * 当前攻击间隔.
		 */		
		protected var _currAttackInternal:int;
		
		/**
		 * x坐标.,以像素为单位
		 */		
		public var x:int;
		
		/**
		 * y坐标,以像素为单位
		 */
		public var y:int = 100;
		
		/**
		 * 状态.站立/前进
		 */		
		protected var _status:int;
		
		/**
		 * 样式
		 */		
		protected var _style:MovieClip;
		
		public function Actor(){}
		
		public function run():void{
			_status = STATUS_RUN;
			_style.gotoAndStop(1);
		}
		
		/**
		 * 是否死亡
		 */		
		public function get isDead():Boolean{
			return _status == STATUS_DEAD;
		}
		
		/**
		 * 是否正在进攻某敌人
		 */		
		public function get isAttack():Boolean{
			return _status == STATUS_ATTACK;
		}
		
		/**
		 * 是否正在前进
		 */		
		public function get isRun():Boolean{
			return _status == STATUS_RUN
		}
		
		/**
		 * actor的实体
		 */		
		public function get style():MovieClip{
			return _style;
		}
		
		/**
		 * 设置方向,会影响speed/style
		 * 速度x方向. 右为1,左为-1
		 */		
		public function set direction(value:int):void{
			_speed *= value;
			_style.scaleX = value;
		}
		
		/**
		 * 建立actor各种数据
		 * @param metaId
		 * @param level
		 */		
		public function initialize(metaId:int, level:int):void{
			_metaId = metaId;
			_level = level;
		}
	}
}